Open source?

Category: Geeks r Us

Post 1 by Voyager (I just keep on posting!) on Tuesday, 03-Jan-2017 14:19:04

Someone on here recently suggested that I contribute to open source projects. How can I determine what is the best way for me to contribute and to which projects ?

There are practically an infinite number of projects to choose from. Some I'd find pointless or uninteresting. Others would interest me but I lack necessary skillset. How do I narrow things down? Once I've made a selection, how do I become familiar with what is often a huge code base in a reasonable amount of time? Where would I start?

At school I essentially specialized in school. I kept a high GPA in an environment that was often very inaccessible. I expected to find another area of expertise while I was there, but I never did. Now that I'm out of school, I should probably specialize in something else.

Post 2 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Tuesday, 03-Jan-2017 18:32:22

You always can start your own project. Ask yourself what problem you'd like to solve and use your language of choice to come up with a solution.

Post 3 by SilverLightning (I've now got the silver prolific poster award! wahoo!) on Tuesday, 03-Jan-2017 20:11:16

Or email one of your professors and ask them.

Post 4 by Shepherdwolf (I've now got the bronze prolific poster award! now going for the silver award!) on Tuesday, 03-Jan-2017 20:15:31

Depending on the language or languages you know, you could always visit a site like Stackoverflow or Freelancer. The former is a good resource for learning, and the latter is a good place to pick up work.

Post 5 by The Roman Battle Mask (Making great use of my Employer's time.) on Wednesday, 04-Jan-2017 12:34:02

There's no quick way to pick up large code bases. It's something you get better at over time. A possible thing you could do is take the free web accessibility training at
https://dequeuniversity.com/scholarships
and then find an open source project with a web component. You could then submit fixes for accessibility in the web portion. I've found that when dealing with large applications the web UI is often the easiest to get started with since small changes are obvious when using the app in a browser.

Post 6 by forereel (Just posting.) on Wednesday, 04-Jan-2017 14:47:49

I assumed a computer major would know about these things?
In classes, wasn't it talked about?
I'm honestly interested?

Post 7 by Voyager (I just keep on posting!) on Wednesday, 04-Jan-2017 15:12:21

Forereel you would think so, but the majority of my classes focused on theory and not practical application.

I've already taken a couple of the Deque university courses. It would be great if I could start applying that knowledge somewhere. For example, I've found that sites like HackerRank where you complete programming challenges tend to be inaccessible. I'd like to use those sites, so I wouldn't mind participating in fixing them.

Post 8 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Thursday, 05-Jan-2017 13:46:29

So take that theory and put it into practice. That's what makes or breaks a person. School won't hold your hand. Sit down and think about what you'd like to contribute to the computing world and do it.

Post 9 by forereel (Just posting.) on Thursday, 05-Jan-2017 15:49:09

Okay. Thanks.

Post 10 by season (the invisible soul) on Saturday, 07-Jan-2017 5:53:43

I don't think there is any easy answer on the question. There are lots of things/program you can contribute on, like some posters already said here, it is really depending on what you feel comfortable with, what coding or language you use, and what kind of problem you want to solve, to what OS you want to work on, either on program base, or OS base etc. For Lynux, I know there are a few Accessible OS community for the blind, similar with firefox and firefox OS. Then of course, for windows, you can contribute to different programs, websites, tools, to make them more accessible and user friendly for all people. Then of course, you got the Pi to play with, it is really depends on what you want to do, and what you hope to achieve, and what problem you want to solve. I have good connections in different area of programming environment, and also involve in a major web accessibility project. Think of what you truly want to do, happy to help making those connection if it need be.

Post 11 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Saturday, 07-Jan-2017 10:39:37

You'll find a world of possibilities!

Post 12 by b3n (I'm going for the prolific poster awards!) on Saturday, 14-Jan-2017 14:33:30

Some suggestions of projects to get involved in:

There is a tool called Remark / RemarkJS that lets you create slides that are visually sexy using markdown. In my experience the process is much more accessible than trying to use something like Powerpoint / Keynote but the arrow keys are used to progress through slides. Obviously screen readers intercept key presses, so unless you use passthrough functionality every time you press a key you are not able to advance them.
On the surface, this would seem like a fairly easy issue to resolve. I'm not a web developer, but it appears that all that needs to be done is to use ARIA to tell a screen reader that RemarkJS is an "application" which would then allow these keys through by default.
There is a feature called presenter mode. The basic idea is that you open your slideshow, clone the display, put one display on a projector which is the normal slide view & then change the second display (on your laptop) into presenter mode which gives you access to things like slide notes. This is probably the mode that needs the application roll applied to it.

There exists a fairly popula editor library called Scintilla that is often used in IDEs of various types when the author doesn't want to reinvent the wheel when it comes to the main edit area. Someone ported it to QT under the name QScintilla but they didn't use QT's accessibility API meaning any application that uses it is inaccessible by default.
Many applications would stand to benefit from someone looking over the code and adding accessibility support to it.

Finally, whilst OCR is now at a point where it is useful to us, determining focus can still be problematic. It would be interesting to explore the feesibility of developing a tool that:
Took 2 image files as input - imageA and imageB.
Both files would be a screenshot of a computer menu of some sort - the BIOS / UEFI springs to mind here.
imageA would have one option highlighted and imageB would have a different one highlighted.
The output should allow the user to determine which item has focus in each of the images.
For this tool to be truely useful it would most likely have to have some kind of API.

Good luck & congratulations on graduating!

Post 13 by margorp (I've got the gold prolific poster award, now is there a gold cup for me?) on Saturday, 14-Jan-2017 16:35:46

Interesting to do something like that. C = a | b. That is a or b